home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-30 | 3.8 KB | 182 lines | [TEXT/CWIE] |
- { ModelessStuff.p -- modeless dialog }
- { Created 10/30/98 1:06 PM by AppMaker }
-
- Unit ModelessStuff;
- Interface
-
- Uses
- Types,
- Quickdraw,
- Controls,
- Dialogs,
- Events,
- Lists,
- Menus,
- TextEdit,
- DModelessStuffData,
- AMDialog;
-
- Procedure ShowModelessStuff;
-
- type
- CModelessStuff = object (AMDialog)
-
- {data members}
- mData: DModelessStuffData;
-
- mToolsHandle: ControlHandle;
- mPopupsHandle: ControlHandle;
- mFromValuesList2Handle: ControlHandle;
- mFromMenuHandle: ControlHandle;
- mListsHandle: ControlHandle;
- mTextListHandle: ControlHandle;
-
- {methods - public}
- Procedure ConnectToData (inData: AMSignaler); Override;
-
- {methods - internal}
- Procedure FinishMake; Override;
- Procedure DoItem (inItemHit: SInt16); Override;
- Procedure DataChanged (inDataID: longint); Override;
-
- end;
-
- var
- sModelessStuffPtr: DialogPtr;
-
- {----------}
- Implementation
-
- Uses
- ResourceDefs,
- ControlUtils,
- Miscellany;
-
- const
- kToolsPalette = 1;
- kPopupsBox = 2;
- kFromValuesList2Popup = 3;
- kFromMenuPopup = 4;
- kListsBox = 5;
- kTextListList = 6;
-
- { Procedure BuildTextListList (inControl: ControlHandle); }
-
- {----------}
- Procedure BuildTextListList (
- inControl: ControlHandle);
- var
- list: ListHandle;
- begin
- list := GetListHandle (inControl);
- AddToList ("One", list);
- AddToList ("Two", list);
- AddToList ("Three", list);
- AddToList ("Infinity", list);
-
- end; {BuildTextListList}
-
- {----------}
- Function NewModelessStuff: CModelessStuff;
- var
- dialog: CModelessStuff;
- begin
- dialog := nil;
- New (dialog);
-
- if dialog <> nil then begin
- dialog.Initialize;
- end;
- NewModelessStuff := dialog;
- end;
-
- {----------}
- Procedure CreateModelessStuff;
- var
- dialog: CModelessStuff;
- data: DModelessStuffData;
- begin
- dialog := NewModelessStuff;
- data := NewDModelessStuffData;
-
- dialog.MakeDialog (DLOG_ModelessStuff);
- dialog.ConnectToData (data);
- end; {CreateModelessStuff}
-
- {----------}
- Procedure ShowModelessStuff;
- begin
- if sModelessStuffPtr = nil then begin
- CreateModelessStuff;
- end;
- if sModelessStuffPtr <> nil then begin
- SelectWindow (sModelessStuffPtr);
- ShowWindow (sModelessStuffPtr);
- end;
- end; {ShowModelessStuff}
-
- {----------}
- Procedure CModelessStuff.FinishMake;
- var
- errCode: OSErr;
- begin
- sModelessStuffPtr := mDialog;
-
- mToolsHandle := GetControlItem (kToolsPalette);
- mPopupsHandle := GetControlItem (kPopupsBox);
- mFromValuesList2Handle := GetControlItem (kFromValuesList2Popup);
- mFromMenuHandle := GetControlItem (kFromMenuPopup);
- mListsHandle := GetControlItem (kListsBox);
- mTextListHandle := GetControlItem (kTextListList);
- end;
-
- {----------}
- Procedure CModelessStuff.ConnectToData (
- inData: AMSignaler); Override;
- begin
- inherited ConnectToData (inData);
- mData := DModelessStuffData (inData);
-
- SetControlValue (mToolsHandle, mData.GetTools3);
- SetControlValue (mFromValuesList2Handle, mData.GetFromValuesList4);
- SetControlValue (mFromMenuHandle, mData.GetFromMenu3);
- BuildTextListList (mTextListHandle);
- SetListBoxChoice (mTextListHandle, mData.GetTextList3);
- end;
-
- {----------}
- Procedure CModelessStuff.DoItem (
- inItemHit: SInt16);
- begin
- case inItemHit of
- kToolsPalette:
- mData.SetTools3 (GetControlValue (mToolsHandle));
- kFromValuesList2Popup: begin
- mData.SetFromValuesList4 (GetControlValue (mFromValuesList2Handle));
- end;
- kFromMenuPopup: begin
- mData.SetFromMenu3 (GetControlValue (mFromMenuHandle));
- end;
- kTextListList:
- mData.SetTextList3 (GetListBoxChoice (mTextListHandle));
-
- end; {switch}
- end;
-
- {----------}
- Procedure CModelessStuff.DataChanged (
- inDataID: longint); Override;
- begin
- if inDataID = idTools3 then begin
- SetControlValue (mToolsHandle, mData.GetTools3);
- end;
- if inDataID = idFromValuesList4 then begin
- SetControlValue (mFromValuesList2Handle, mData.GetFromValuesList4);
- end;
- if inDataID = idFromMenu3 then begin
- SetControlValue (mFromMenuHandle, mData.GetFromMenu3);
- end;
- end;
-
- End.
-